; homex.g                                                  ; 调用归位X轴脚本
; M98 P"0:/sys/homex.g" Z15 D1 U1                          ; 调用方法(X轴归位前, Z轴先下沉, 归位后,恢复下沉前的Z轴位置, 防止撞头)
                                                           ; Z15 下沉15mm
                                                           ; D1 默认Z轴下沉
                                                           ; U1 默认Z轴抬升

var lowerZ =0                                              ; 初始化下沉距离参数

if (global.ToolOnHit = 0 && (state.currentTool = 0 || state.currentTool =1 || state.currentTool =2 || state.currentTool =3))
   T-1 P0

if exists(param.Z)                                         ; 判断是否带Z轴下沉距离参数
    set var.lowerZ ={param.Z}                              ; 如果带Z轴下沉距离参数, 则设置传进来的Z轴下沉距离参数
else
    set var.lowerZ =global.xHomeLowerZ                     ; 如果不带Z轴下沉距离参数, 则设置默认Z轴下沉距离参数

G91                                                        ; 使用相对坐标
;G1 H2 X0.5 Y-0.5 F10000                                    ; 使用失速检测前先给电机通电(防止误触)
;M400                                                       ; 变更电机电流前先确保之前的电机运动已经完成
;M913 X{global.xStallCurrent} Y{global.yStallCurrent}       ; 设置电机失速检测电流
;M915 H200 X Y S3 R0 F0                                     ; 设置失速检测敏感度为3, 不带过滤, 失速后无其它操作
if (!exists(param.D) || (param.D ==1))                     ; 不带是否下沉, 默认为需要下沉; 确认要下沉时
    G1 H2 Z{var.lowerZ} F5000                              ; 下沉Z轴, 防止撞头
if !move.axes[1].homed || move.axes[1].userPosition>-41
    M98 P"0:/sys/homey.g" D0 U0                            ; Y没归位, 先归位Y
;G1 H1 X-400 F3000                                          ; 向左做归位移动400mm, 直到检测到失速后停止
;G1 H1 X2 F2000                                             ; 右移离开失速位置
G1 H1 X-400 F6000                                          ; 第一次快速归位
G1 X5 F1000                                                ; 离开限位开关
G1 H1 X-400 F900                                           ; 第二次慢速归位
if (!exists(param.U) || (param.U ==1))                     ; 不带是否抬升, 默认为需要抬升; 确认要抬升时
    G1 H2 Z{-var.lowerZ} F1200                             ; 抬升Z轴到原来位置
G90                                                        ; 使用绝对坐标
;M400                                                       ; 变更电机电流前先确保之前的电机运动已经完成
;M913 X100 Y100                                             ; 恢复电机电流到100%